const express = require('express');
const bodyParser = require('body-parser')
const app = express();

// -> 写接口 

/**
 * 
 * 后端：
 * @function [-写接口-]
 * @param {
 * 
 * ****后端**** 能干什么？怎么干？ 
 *  1.  [-写接口-]  读页面（让当前页面读取在当前的服务器上）
 *  2. 接口类型：
 *   get
 *   post  
 *   根据接口的不同访问形式 get  post 获取不同的参数
 *  3. 不同类型获取参数的方式；
 *    get 获取参数形式： 
 *      1. req.query;
 *    post 获取参数形式：
 *      1. 先配置bodyparser中间件 app.use(bodyparser())
 *      2. req.body;
 * }
 * 
 * 前端
 * @param {
 *  
 * ****前端****
 * 1. 前端干什么
 *    通过ajax(axios)对后端提供的不同的接口进行访问。/ 登陆注册 / 获取数据，渲染数据 
 * 
 * 2. 如果做？
 *    - 引入axios.js
 *    
 * 3. 前端请求分类：
 *  
 *   axios.get()
 *   axios.post()
 * 
 *   如何传参数
 * 
 *   axios.get('/api/login', {
 *    params: {
 *       username: 'zs',
 *       password: '123'
 *     }
 *   }).then(res => {})
 * 
 *   axios.post('/api/login', {
 *     username: 'zs',
 *      password: '123'
 *   }).then(res => {}) 
 * 
 *   
 *  4. 根据后端返回的数据，做出相应的操作
 * }
 * 
 * 
 * @param {
 *  ****前后端对接****
 *   html
 *   css  axios（带参数）  ----->    后端（获取参数，返回数据）
 *   js
 *   img
 *  }
 * 
 *  php-   
 *  phyon -
 *  java-   
 *  go-   
 *  net  
 * 
 *  js vue react 小程序  jquery: 
 * 
 * 
 * 
*/

// 解析post参数  bodyParser()
app.use(bodyParser({
  extended: false // 
}))

app.get('/', (req, res, next) => {
  res.send({
    code: 0,
    msg: '我是根路径'
  })
})

// get接口
app.get('/api/login', (req, res, next) => {
  // get ->  req.query;
  res.send({
    code: 0,
    msg: 'success',
    params: req.query
  })
})

// post接口
app.post('/api/register', (req, res, next) => {
  console.log(req.body, 'body')
  // post -> req.body;
  res.send({
    code: 0,
    msg: 'success',
    params: req.body
  })
})


app.listen(3000, () => console.log('server port is 3000'))


